/*
 * 百度在线网络技术（北京）有限公司拥有本软件版权2021并保留所有权利。
 * Copyright 2021, Baidu.com,Inc 2:Baidu Online Network Technology (Beijing) Co.,Ltd,
 * All rights reserved.
 */

package com.azdebugit.concurrent;

import java.util.concurrent.atomic.AtomicInteger;

public class CASDemo {
  public static void main(String[] args) {
    // 创建一个原子类
    AtomicInteger atomicInteger = new AtomicInteger(5);
 
    /**
     * 一个是期望值，一个是更新值，但期望值和原来的值相同时，才能够更改
     * 假设三秒前，我拿的是5，也就是expect为5，然后我需要更新成 2019
     */
    System.out.println(atomicInteger.compareAndSet(5, 2019) + "\t current data: " + atomicInteger.get());
 
    System.out.println(atomicInteger.compareAndSet(5, 1024) + "\t current data: " + atomicInteger.get());
  }
}